package com.jiashn.minio.service;

import com.jiashn.minio.utils.JsonResult;
import com.jiashn.minio.utils.MinioBucketEnum;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * @author: jiangjs
 * @description:
 * @date: 2023/10/20 15:19
 **/
public interface OpuSysFilesService {

    /**
     * 根据md5编码跟桶名称判断文件是否已上传
     * @param md5Code md5编码
     * @param bucketName 桶名称
     * @return 返回结果
     */
    Boolean isExistFile(String md5Code,String bucketName);

    /**
     * 单个文件上传
     * @param file 文件
     * @param bucketEnum 桶
     * @return 返回结果
     */
    JsonResult<String> uploadSingleFile(MultipartFile file, MinioBucketEnum bucketEnum);

    /**
     * 下周文件
     * @param md5Code 文件md5编码
     * @param bucketEnum 桶
     * @param response 响应
     */
    void downFile(String md5Code, MinioBucketEnum bucketEnum, HttpServletResponse response);
}
